static const char *out_fname;
static struct pdb *opdb;
static struct pdb_record *opdb_rec;
-static void *mkshort_wr_handle;
+static short_handle mkshort_wr_handle;
static char *dbname = NULL;
static char *appendicon = NULL;
pdb_Write(opdb, fileno(file_out));
xfree(htable);
- mkshort_del_handle(mkshort_wr_handle);
+ mkshort_del_handle(&mkshort_wr_handle);
}
struct appinfo *ai = (struct appinfo *) opdb->appinfo;
static int ct;
struct pdb_record *opdb_rec;
- static void *mkshort_wr_handle;
+ static short_handle mkshort_wr_handle;
char *notes = NULL;
char *shortname = NULL;
char *vdata;
xfree(shortname);
xfree(rec);
- mkshort_del_handle(mkshort_wr_handle);
+ mkshort_del_handle(&mkshort_wr_handle);
}
char * description; /* Description for help text */
char * extension; /* preferred filename extension (for wrappers)*/
- void * mkshort_handle; /* handle for mkshort() */
+ short_handle mkshort_handle;/* handle for mkshort() */
ff_type type; /* format type for GUI wrappers. */
} xcsv_file_t;
* All shortname functions take a shortname handle as the first arg.
* This is an opaque pointer. Callers must not fondle the contents of it.
*/
+typedef struct short_handle * short_handle;
#ifndef DEBUG_MEM
-char *mkshort (void *, const char *);
+char *mkshort (short_handle, const char *);
void *mkshort_new_handle(void);
#else
-char *MKSHORT(void *, const char *, DEBUG_PARAMS);
+char *MKSHORT(short_handle, const char *, DEBUG_PARAMS);
void *MKSHORT_NEW_HANDLE(DEBUG_PARAMS);
#define mkshort( a, b) MKSHORT(a,b,__FILE__, __LINE__)
#define mkshort_new_handle() MKSHORT_NEW_HANDLE(__FILE__,__LINE__)
#endif
-char *mkshort_from_wpt(void *h, const waypoint *wpt);
-void mkshort_del_handle(void *h);
-void setshort_length(void *, int n);
-void setshort_badchars(void *, const char *);
-void setshort_goodchars(void *, const char *);
-void setshort_mustupper(void *, int n);
-void setshort_mustuniq(void *, int n);
-void setshort_whitespace_ok(void *, int n);
-void setshort_repeating_whitespace_ok(void *, int n);
-void setshort_defname(void *, const char *s);
+char *mkshort_from_wpt(short_handle h, const waypoint *wpt);
+void mkshort_del_handle(short_handle *h);
+void setshort_length(short_handle, int n);
+void setshort_badchars(short_handle, const char *);
+void setshort_goodchars(short_handle, const char *);
+void setshort_mustupper(short_handle, int n);
+void setshort_mustuniq(short_handle, int n);
+void setshort_whitespace_ok(short_handle, int n);
+void setshort_repeating_whitespace_ok(short_handle, int n);
+void setshort_defname(short_handle, const char *s);
/*
* Vmem flags values.
static FILE *file_in;
static FILE *file_out;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
/* static char *deficon = NULL; */
#define MYNAME "EasyGPS"
wr_deinit(void)
{
fclose(file_out);
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
}
/*
#define MYNAME "GARMIN"
static const char *portname;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
static GPS_PWay *tx_routelist;
static GPS_PWay *cur_tx_routelist_entry;
static GPS_PTrack *tx_tracklist;
rw_deinit(void)
{
if (mkshort_handle) {
- mkshort_del_handle(mkshort_handle);
- mkshort_handle = NULL;
+ mkshort_del_handle(&mkshort_handle);
}
}
static int gdb_category;
static route_head *gdb_hidden = NULL;
-static void *gdb_short_handle;
+static short_handle gdb_short_handle;
#define GDB_OPT_VER "ver"
#define GDB_OPT_VIA "via"
gdb_reset_short_handle(void)
{
if (gdb_short_handle != NULL)
- mkshort_del_handle(gdb_short_handle);
+ mkshort_del_handle(&gdb_short_handle);
gdb_short_handle = mkshort_new_handle();
fclose(fout);
xfree(fout_name);
fout_name = NULL;
- mkshort_del_handle(gdb_short_handle);
+ mkshort_del_handle(&gdb_short_handle);
}
static void
static char *encoded_levels = NULL;
static char *script = NULL;
static route_head *track_head;
-static void *desc_handle;
+static short_handle desc_handle;
static FILE *fd;
google_rd_deinit(void)
{
xml_deinit();
- mkshort_del_handle(desc_handle);
+ mkshort_del_handle(&desc_handle);
}
ff_vecs_t google_vecs = {
static FILE *file_in;
static FILE *file_out;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
#define MYNAME "GPSUTIL"
wr_deinit(void)
{
fclose(file_out);
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
}
static void
static int cache_descr_is_html;
static FILE *fd;
static FILE *ofd;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
static const char *input_string = NULL;
static int input_string_len = 0;
gpx_wr_deinit(void)
{
fclose(ofd);
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
}
void
static FILE *file_in;
static unsigned char *HxWFile;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
static char fOutname[256];
#define MYNAME "Holux"
static void wr_deinit(void)
{
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
}
#include <ctype.h>
static FILE *file_out;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
static char *stylesheet = NULL;
static char *encrypt = NULL;
wr_deinit(void)
{
fclose(file_out);
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
}
static void
static FILE *file_in;
static FILE *file_out;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
static unsigned short waypt_out_count;
static unsigned int trail_count, lowrance_route_count;
wr_deinit(void)
{
fclose(file_out);
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
}
/**
static FILE *maggeofile_in;
static FILE *maggeofile_out;
-static void *desc_handle = NULL;
+static short_handle desc_handle = NULL;
static void
maggeo_writemsg(const char * const buf)
maggeo_wr_deinit(void)
{
maggeo_writemsg("PMGNCMD,END");
- mkshort_del_handle(desc_handle);
+ mkshort_del_handle(&desc_handle);
fclose(maggeofile_out);
}
static FILE *file_in;
static FILE *file_out;
static const char *out_fname;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
static struct pdb *opdb;
static struct pdb_record *opdb_rec;
wr_deinit(void)
{
fclose(file_out);
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
}
static void
static void mag_readmsg(gpsdata_type objective);
static void mag_handon(void);
static void mag_handoff(void);
-static void *mkshort_handle = NULL;
+static short_handle mkshort_handle = NULL;
static char *deficon = NULL;
static char *bs = NULL;
static char *cmts = NULL;
fclose(magfile_in);
magfile_in = NULL;
if(mkshort_handle)
- mkshort_del_handle(mkshort_handle);
- mkshort_handle = NULL;
+ mkshort_del_handle(&mkshort_handle);
waypt_flush(&rte_wpt_tmp);
}
static FILE *file_in;
static FILE *file_out;
static const char *out_fname;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
struct pdb *opdb;
struct pdb_record *opdb_rec;
wr_deinit(void)
{
fclose(file_out);
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
}
convert_rec0(struct record0 *rec0)
static FILE *mapsend_file_in;
static FILE *mapsend_file_out;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
static int route_wp_count;
static int mapsend_infile_version;
mapsend_wr_deinit(void)
{
fclose(mapsend_file_out);
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
}
static void
static FILE *mps_file_in;
static FILE *mps_file_out;
static FILE *mps_file_temp;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
static int mps_ver_in = 0;
static int mps_ver_out = 0;
/* Private queues of written out waypoints */
static queue written_wpt_head;
static queue written_route_wpt_head;
-static void *written_wpt_mkshort_handle;
+static short_handle written_wpt_mkshort_handle;
/* Private queue of read in waypoints assumed to be used only for routes */
static queue read_route_wpt_head;
-static void *read_route_wpt_mkshort_handle;
+static short_handle read_route_wpt_mkshort_handle;
#define MPSDEFAULTWPTCLASS 0
#define MPSHIDDENROUTEWPTCLASS 8
{
fclose(mps_file_in);
if ( read_route_wpt_mkshort_handle ) {
- mkshort_del_handle( read_route_wpt_mkshort_handle );
+ mkshort_del_handle( &read_route_wpt_mkshort_handle );
}
/* flush the "private" queue of waypoints read for routes */
mps_wpt_q_deinit(&read_route_wpt_head);
}
if ( written_wpt_mkshort_handle ) {
- mkshort_del_handle( written_wpt_mkshort_handle );
+ mkshort_del_handle( &written_wpt_mkshort_handle );
}
/* flush the "private" queue of waypoints written */
mps_wpt_q_deinit(&written_wpt_head);
}
else mps_mapsetname_w(mps_file_out, mps_ver_out);
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
}
}
void
-mkshort_del_handle(void *h)
+mkshort_del_handle(short_handle *h)
{
- mkshort_handle *hdr = h;
+ mkshort_handle *hdr = (mkshort_handle*) *h;
int i;
- if (!hdr)
+ if (!h || !hdr)
return;
for (i = 0; i < PRIME; i++) {
xfree(s);
}
}
- setshort_badchars(h, NULL);
- setshort_goodchars(h, NULL);
+ setshort_badchars(*h, NULL);
+ setshort_goodchars(*h, NULL);
if (hdr->defname) {
xfree(hdr->defname);
}
xfree(hdr);
+ *h = NULL;
}
/*
* strings returned by mkshort(). 0 resets to default.
*/
void
-setshort_length(void *h, int l)
+setshort_length(short_handle h, int l)
{
- mkshort_handle *hdl = h;
+ mkshort_handle *hdl = (mkshort_handle *) h;
if (l == 0) {
hdl->target_len = DEFAULT_TARGET_LEN;
} else {
*/
void
-setshort_whitespace_ok(void *h, int l)
+setshort_whitespace_ok(short_handle h, int l)
{
- mkshort_handle *hdl = h;
+ mkshort_handle *hdl = (mkshort_handle *) h;
hdl->whitespaceok = l;
}
*/
void
-setshort_repeating_whitespace_ok(void *h, int l)
+setshort_repeating_whitespace_ok(short_handle h, int l)
{
- mkshort_handle *hdl = h;
+ mkshort_handle *hdl = (mkshort_handle *) h;
hdl->repeating_whitespaceok = l;
}
* becuase it was filtered by charsets or null or whatever.
*/
void
-setshort_defname(void *h, const char *s)
+setshort_defname(short_handle h, const char *s)
{
- mkshort_handle *hdl = h;
+ mkshort_handle *hdl = (mkshort_handle *) h;
if (s == NULL) {
fatal("setshort_defname called without a valid name.");
}
* resets to default.
*/
void
-setshort_badchars(void *h, const char *s)
+setshort_badchars(short_handle h, const char *s)
{
- mkshort_handle *hdl = h;
+ mkshort_handle *hdl = (mkshort_handle *) h;
if ((hdl->badchars != NULL) && (hdl->badchars != DEFAULT_BADCHARS))
xfree(hdl->badchars);
* in generated names.
*/
void
-setshort_goodchars(void *h, const char *s)
+setshort_goodchars(short_handle h, const char *s)
{
- mkshort_handle *hdl = h;
+ mkshort_handle *hdl = (mkshort_handle *) h;
if (hdl->goodchars != NULL)
xfree(hdl->goodchars);
* Call with i non-zero if generated names must be uppercase only.
*/
void
-setshort_mustupper(void *h, int i)
+setshort_mustupper(short_handle h, int i)
{
- mkshort_handle *hdl = h;
+ mkshort_handle *hdl = (mkshort_handle *) h;
hdl->mustupper = i;
}
* (By default, they are.)
*/
void
-setshort_mustuniq(void *h, int i)
+setshort_mustuniq(short_handle h, int i)
{
- mkshort_handle *hdl = h;
+ mkshort_handle *hdl = (mkshort_handle *) h;
hdl->must_uniq = i;
}
char *
#ifdef DEBUG_MEM
-MKSHORT(void *h, const char *istring, DEBUG_PARAMS )
+MKSHORT(short_handle h, const char *istring, DEBUG_PARAMS )
#else
-mkshort(void *h, const char *istring)
+mkshort(short_handle h, const char *istring)
#endif
{
char *ostring = xxstrdup(istring, file, line);
char *cp;
char *np;
int i, l, nlen, replaced;
- mkshort_handle *hdl = h;
+ mkshort_handle *hdl = (mkshort_handle *) h;
/*
* Whack leading "[Tt]he",
* the code that considers the alternate sources.
*/
char *
-mkshort_from_wpt(void *h, const waypoint *wpt)
+mkshort_from_wpt(short_handle h, const waypoint *wpt)
{
/* This probably came from a Groundspeak Pocket Query
* so use the 'cache name' instead of the description field
static FILE *file_in;
static FILE *file_out;
static route_head *trk_head;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
static preferred_posn_type posn_type;
static time_t creation_time;
static waypoint * curr_waypt =NULL;
nmea_wr_deinit(void)
{
fclose(file_out);
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
}
static void
#include "defs.h"
#include "grtcirc.h"
-static void *mkshort_handle;
+static short_handle mkshort_handle;
#define MYNAME "overlay"
#define PARAMETER_FILE "overlay.def"
static FILE *file_in;
static FILE *file_out;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
static route_head *trk_head;
static route_head *rte_head;
{
fclose(file_in);
file_in = NULL;
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
}
static void
file_out = NULL;
ozi_ofname = NULL;
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
}
static void
#include "coldsync/pdb.h"
static FILE *file_out;
-static void *mkshort_handle;
-static void *mkshort_bookmark_handle;
+static short_handle mkshort_handle;
+static short_handle mkshort_bookmark_handle;
static const char *out_fname;
static struct pdb *opdb;
static struct pdb_record *opdb_rec;
wr_deinit(void)
{
fclose(file_out);
- mkshort_del_handle(mkshort_handle);
- mkshort_del_handle(mkshort_bookmark_handle);
+ mkshort_del_handle(&mkshort_handle);
+ mkshort_del_handle(&mkshort_bookmark_handle);
if ( dbname ) {
xfree(dbname);
static FILE *fd_in, *fd_out;
static struct pdb *pdb_in, *pdb_out;
static char *fname_in, *fname_out;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
static gpsdata_type ppdb_type;
static unsigned char german_release = 0;
static void ppdb_wr_deinit(void)
{
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
fclose(fd_out);
str_pool_deinit();
xfree(fname_out);
static FILE *file_in;
static FILE *file_out;
-static void *mkshort_handle;
-static void *mkshort_handle2; /* for track and route names */
+static short_handle mkshort_handle;
+static short_handle mkshort_handle2; /* for track and route names */
static char *deficon = NULL;
static int read_as_degrees;
static int route_ctr;
wr_deinit(void)
{
fclose(file_out);
- mkshort_del_handle(mkshort_handle);
- mkshort_del_handle(mkshort_handle2);
+ mkshort_del_handle(&mkshort_handle);
+ mkshort_del_handle(&mkshort_handle2);
}
static void
static FILE *psit_file_in;
static FILE *psit_file_out;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
/* 2 = not written any tracks out
1 = change of track to write out track header
track_disp_all(psit_trackhdr_w_wrapper, psit_noop, psit_trackdatapoint_w_wrapper);
}
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
}
static FILE *psp_file_in;
static FILE *psp_file_out;
-static FILE *mkshort_handle;
+static short_handle mkshort_handle;
static int
psp_fread(void *buff, size_t size, size_t members, FILE * fp)
static void
psp_wr_deinit(void)
{
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
fclose(psp_file_out);
}
#include <ctype.h>
static FILE *file_out;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
static char *suppresssep = NULL;
static char *encrypt = NULL;
wr_deinit(void)
{
fclose(file_out);
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
}
static void
static FILE *file_in;
static FILE *file_out;
-static void *mkshort_handle;
-static void *mkshort_whandle;
+static short_handle mkshort_handle;
+static short_handle mkshort_whandle;
#define MYNAME "GPSUTIL"
rd_deinit(void)
{
fclose(file_in);
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
}
static void
#endif
}
- mkshort_del_handle(mkshort_whandle);
+ mkshort_del_handle(&mkshort_whandle);
}
static FILE *file_in;
static FILE *file_out;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
static void
rd_init(const char *fname)
fprintf(file_out, "Group\tsID\tsDescription\tfLat\tfLong\tfEasting\tfNorthing\tfAlt\tiColour\tiSymbol\tsHyperLink\n");
waypt_disp_all(tmpro_waypt_pr);
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
}
ff_vecs_t tmpro_vecs = {
static FILE *tpg_file_in;
static FILE *tpg_file_out;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
static char *tpg_datum_opt;
static int tpg_datum_idx;
static void
tpg_wr_deinit(void)
{
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
fclose(tpg_file_out);
}
static FILE *tpo_file_in;
static FILE *tpo_file_out;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
static double output_track_lon_scale;
static double output_track_lat_scale;
#include <ctype.h>
static FILE *file_out;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
static char *encrypt = NULL;
wr_deinit(void)
{
fclose(file_out);
- mkshort_del_handle(mkshort_handle);
+ mkshort_del_handle(&mkshort_handle);
}
/*
queue waypt_head;
static unsigned int waypt_ct;
-static void *mkshort_handle;
+static short_handle mkshort_handle;
void
waypt_init(void)
waypt_flush_all()
{
if ( mkshort_handle ) {
- mkshort_del_handle( mkshort_handle );
+ mkshort_del_handle( &mkshort_handle );
}
waypt_flush(&waypt_head);
}
xfree(xcsv_file.extension);
if (xcsv_file.mkshort_handle)
- mkshort_del_handle(xcsv_file.mkshort_handle);
+ mkshort_del_handle(&xcsv_file.mkshort_handle);
/* return everything to zeros */
internal = xcsv_file.is_internal;